# -*- coding: utf-8 -*-
''' bad design...
'''

from common.lottery import LOTTERY_TYPE
from common.lottery.cyclical.bj_pk10.logic import (activity as bj_pk10_ac_logic, order as bj_pk10_order_logic)
from common.lottery.cyclical.bj_pk10.model import (activity as bj_pk10_ac, order as bj_pk10_order)
from common.lottery.cyclical.cq_lf.logic import (activity as cq_lf_ac_logic, order as cq_lf_order_logic)
from common.lottery.cyclical.cq_lf.model import (activity as cq_lf_ac, order as cq_lf_order)
from common.lottery.cyclical.cq_ssc.logic import (activity as cq_ssc_ac_logic, order as cq_ssc_order_logic)
from common.lottery.cyclical.cq_ssc.model import (activity as cq_ssc_ac, order as cq_ssc_order)
from common.lottery.cyclical.fc3d.logic import (activity as fc3d_ac_logic, order as fc3d_order_logic)
from common.lottery.cyclical.fc3d.model import (activity as fc3d_ac, order as fc3d_order)
from common.lottery.cyclical.ff_11x5.logic import (activity as ff_11x5_ac_logic, order as ff_11x5_order_logic)
from common.lottery.cyclical.ff_11x5.model import (activity as ff_11x5_ac, order as ff_11x5_order)
from common.lottery.cyclical.ff_ks.logic import (activity as ff_ks_ac_logic, order as ff_ks_order_logic)
from common.lottery.cyclical.ff_ks.model import (activity as ff_ks_ac, order as ff_ks_order)
from common.lottery.cyclical.ff_pk10.logic import (activity as ff_pk10_ac_logic, order as ff_pk10_order_logic)
from common.lottery.cyclical.ff_pk10.model import (activity as ff_pk10_ac, order as ff_pk10_order)
from common.lottery.cyclical.ff_ssc.logic import (activity as ff_ssc_ac_logic, order as ff_ssc_order_logic)
from common.lottery.cyclical.ff_ssc.model import (activity as ff_ssc_ac, order as ff_ssc_order)
from common.lottery.cyclical.gd_11x5.logic import (activity as gd_11x5_ac_logic, order as gd_11x5_order_logic)
from common.lottery.cyclical.gd_11x5.model import (activity as gd_11x5_ac, order as gd_11x5_order)
from common.lottery.cyclical.gx_ks.logic import (activity as gx_ks_ac_logic, order as gx_ks_order_logic)
from common.lottery.cyclical.gx_ks.model import (activity as gx_ks_ac, order as gx_ks_order)
from common.lottery.cyclical.js_ks.logic import (activity as js_ks_ac_logic, order as js_ks_order_logic)
from common.lottery.cyclical.js_ks.model import (activity as js_ks_ac, order as js_ks_order)
from common.lottery.cyclical.jx_11x5.logic import (activity as jx_11x5_ac_logic, order as jx_11x5_order_logic)
from common.lottery.cyclical.jx_11x5.model import (activity as jx_11x5_ac, order as jx_11x5_order)
from common.lottery.cyclical.sd_11x5.logic import (activity as sd_11x5_ac_logic, order as sd_11x5_order_logic)
from common.lottery.cyclical.sd_11x5.model import (activity as sd_11x5_ac, order as sd_11x5_order)
from common.lottery.cyclical.sh_11x5.logic import (activity as sh_11x5_ac_logic, order as sh_11x5_order_logic)
from common.lottery.cyclical.sh_11x5.model import (activity as sh_11x5_ac, order as sh_11x5_order)
from common.lottery.cyclical.tc_pls.logic import (activity as tc_pls_ac_logic, order as tc_pls_order_logic)
from common.lottery.cyclical.tc_pls.model import (activity as tc_pls_ac, order as tc_pls_order)
from common.lottery.cyclical.tj_ssc.logic import (activity as tj_ssc_ac_logic, order as tj_ssc_order_logic)
from common.lottery.cyclical.tj_ssc.model import (activity as tj_ssc_ac, order as tj_ssc_order)
from common.lottery.cyclical.xj_ssc.logic import (activity as xj_ssc_ac_logic, order as xj_ssc_order_logic)
from common.lottery.cyclical.xj_ssc.model import (activity as xj_ssc_ac, order as xj_ssc_order)
from common.lottery.cyclical.lucky_farm.model import BET_TYPE as LF_BET_TYPE
from common.lottery.cyclical.ssc.model import BET_TYPE as SSC_BET_TYPE
from common.lottery.cyclical.cp11x5.model import BET_TYPE as X5_BET_TYPE
from common.lottery.cyclical.pls.model import BET_TYPE as PLS_BET_TYPE

ACTIVITY_LOGIC = {
    LOTTERY_TYPE.CQ_SSC: cq_ssc_ac_logic,
    LOTTERY_TYPE.CQ_LF: cq_lf_ac_logic,
    LOTTERY_TYPE.TJ_SSC: tj_ssc_ac_logic,
    LOTTERY_TYPE.XJ_SSC: xj_ssc_ac_logic,
    LOTTERY_TYPE.JS_KS: js_ks_ac_logic,
    LOTTERY_TYPE.GX_KS: gx_ks_ac_logic,
    LOTTERY_TYPE.SD_11X5: sd_11x5_ac_logic,
    LOTTERY_TYPE.SH_11X5: sh_11x5_ac_logic,
    LOTTERY_TYPE.JX_11X5: jx_11x5_ac_logic,
    LOTTERY_TYPE.GD_11X5: gd_11x5_ac_logic,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_ac_logic,
    LOTTERY_TYPE.TC_PLS: tc_pls_ac_logic,
    LOTTERY_TYPE.FC3D: fc3d_ac_logic,
    LOTTERY_TYPE.FF_SSC: ff_ssc_ac_logic,
    LOTTERY_TYPE.FF_11X5: ff_11x5_ac_logic,
    LOTTERY_TYPE.FF_KS: ff_ks_ac_logic,
    LOTTERY_TYPE.FF_PK10: ff_pk10_ac_logic,
}

ACTIVITY_MODEL = {
    LOTTERY_TYPE.CQ_SSC: cq_ssc_ac.Activity,
    LOTTERY_TYPE.CQ_LF: cq_lf_ac.Activity,
    LOTTERY_TYPE.TJ_SSC: tj_ssc_ac.Activity,
    LOTTERY_TYPE.XJ_SSC: xj_ssc_ac.Activity,
    LOTTERY_TYPE.JS_KS: js_ks_ac.Activity,
    LOTTERY_TYPE.GX_KS: gx_ks_ac.Activity,
    LOTTERY_TYPE.SD_11X5: sd_11x5_ac.Activity,
    LOTTERY_TYPE.SH_11X5: sh_11x5_ac.Activity,
    LOTTERY_TYPE.JX_11X5: jx_11x5_ac.Activity,
    LOTTERY_TYPE.GD_11X5: gd_11x5_ac.Activity,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_ac.Activity,
    LOTTERY_TYPE.TC_PLS: tc_pls_ac.Activity,
    LOTTERY_TYPE.FC3D: fc3d_ac.Activity,
    LOTTERY_TYPE.FF_SSC: ff_ssc_ac.Activity,
    LOTTERY_TYPE.FF_11X5: ff_11x5_ac.Activity,
    LOTTERY_TYPE.FF_KS: ff_ks_ac.Activity,
    LOTTERY_TYPE.FF_PK10: ff_pk10_ac.Activity,
}

TREND_MODEL = {
    LOTTERY_TYPE.CQ_SSC: cq_ssc_ac.Trend,
    LOTTERY_TYPE.CQ_LF: cq_lf_ac.Trend,
    LOTTERY_TYPE.TJ_SSC: tj_ssc_ac.Trend,
    LOTTERY_TYPE.XJ_SSC: xj_ssc_ac.Trend,
    LOTTERY_TYPE.JS_KS: js_ks_ac.Trend,
    LOTTERY_TYPE.GX_KS: gx_ks_ac.Trend,
    LOTTERY_TYPE.SD_11X5: sd_11x5_ac.Trend,
    LOTTERY_TYPE.SH_11X5: sh_11x5_ac.Trend,
    LOTTERY_TYPE.JX_11X5: jx_11x5_ac.Trend,
    LOTTERY_TYPE.GD_11X5: gd_11x5_ac.Trend,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_ac.Trend,
    LOTTERY_TYPE.TC_PLS: tc_pls_ac.Trend,
    LOTTERY_TYPE.FC3D: fc3d_ac.Trend,
    LOTTERY_TYPE.FF_SSC: ff_ssc_ac.Trend,
    LOTTERY_TYPE.FF_11X5: ff_11x5_ac.Trend,
    LOTTERY_TYPE.FF_KS: ff_ks_ac.Trend,
    LOTTERY_TYPE.FF_PK10: ff_pk10_ac.Trend,
}

ORDER_MODEL = {
    LOTTERY_TYPE.CQ_SSC: cq_ssc_order.Order,
    LOTTERY_TYPE.CQ_LF: cq_lf_order.Order,
    LOTTERY_TYPE.TJ_SSC: tj_ssc_order.Order,
    LOTTERY_TYPE.XJ_SSC: xj_ssc_order.Order,
    LOTTERY_TYPE.JS_KS: js_ks_order.Order,
    LOTTERY_TYPE.GX_KS: gx_ks_order.Order,
    LOTTERY_TYPE.SD_11X5: sd_11x5_order.Order,
    LOTTERY_TYPE.SH_11X5: sh_11x5_order.Order,
    LOTTERY_TYPE.JX_11X5: jx_11x5_order.Order,
    LOTTERY_TYPE.GD_11X5: gd_11x5_order.Order,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_order.Order,
    LOTTERY_TYPE.TC_PLS: tc_pls_order.Order,
    LOTTERY_TYPE.FC3D: fc3d_order.Order,
    LOTTERY_TYPE.FF_SSC: ff_ssc_order.Order,
    LOTTERY_TYPE.FF_11X5: ff_11x5_order.Order,
    LOTTERY_TYPE.FF_KS: ff_ks_order.Order,
    LOTTERY_TYPE.FF_PK10: ff_pk10_order.Order,
}

ORDER_LOGIC = {
    LOTTERY_TYPE.CQ_SSC: cq_ssc_order_logic,
    LOTTERY_TYPE.CQ_LF: cq_lf_order_logic,
    LOTTERY_TYPE.TJ_SSC: tj_ssc_order_logic,
    LOTTERY_TYPE.XJ_SSC: xj_ssc_order_logic,
    LOTTERY_TYPE.JS_KS: js_ks_order_logic,
    LOTTERY_TYPE.GX_KS: gx_ks_order_logic,
    LOTTERY_TYPE.SD_11X5: sd_11x5_order_logic,
    LOTTERY_TYPE.SH_11X5: sh_11x5_order_logic,
    LOTTERY_TYPE.JX_11X5: jx_11x5_order_logic,
    LOTTERY_TYPE.GD_11X5: gd_11x5_order_logic,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_order_logic,
    LOTTERY_TYPE.TC_PLS: tc_pls_order_logic,
    LOTTERY_TYPE.FC3D: fc3d_order_logic,
    LOTTERY_TYPE.FF_SSC: ff_ssc_order_logic,
    LOTTERY_TYPE.FF_11X5: ff_11x5_order_logic,
    LOTTERY_TYPE.FF_KS: ff_ks_order_logic,
    LOTTERY_TYPE.FF_PK10: ff_pk10_order_logic,
}

BET_TYPE_DICT = {
    LOTTERY_TYPE.CQ_SSC: SSC_BET_TYPE,
    LOTTERY_TYPE.CQ_LF: LF_BET_TYPE,
    LOTTERY_TYPE.TJ_SSC: SSC_BET_TYPE,
    LOTTERY_TYPE.XJ_SSC: SSC_BET_TYPE,
    LOTTERY_TYPE.FF_SSC: SSC_BET_TYPE,
    LOTTERY_TYPE.JS_KS: js_ks_order.BET_TYPE,
    LOTTERY_TYPE.GX_KS: gx_ks_order.BET_TYPE,
    LOTTERY_TYPE.SD_11X5: X5_BET_TYPE,
    LOTTERY_TYPE.SH_11X5: X5_BET_TYPE,
    LOTTERY_TYPE.JX_11X5: X5_BET_TYPE,
    LOTTERY_TYPE.GD_11X5: X5_BET_TYPE,
    LOTTERY_TYPE.FF_11X5: X5_BET_TYPE,
    LOTTERY_TYPE.BJ_PK10: bj_pk10_order.BET_TYPE,
    LOTTERY_TYPE.TC_PLS: PLS_BET_TYPE,
    LOTTERY_TYPE.FC3D: fc3d_order.BET_TYPE,
    LOTTERY_TYPE.FF_KS: ff_ks_order.BET_TYPE,
    LOTTERY_TYPE.FF_PK10: ff_pk10_order.BET_TYPE,
}
